#ifndef API_H
#define API_H

#include <QObject>
#include "apigui.h"
#include "apinetwork.h"
#include "apiclient.h"
#include "apiAudio.h"
#include "apiTimer.h"

class Api : public QObject
{
	Q_OBJECT

public:
	Api(apiGui *gui, apiNetwork *network, apiAudio *audio, QObject *parent = 0);
	Api(QObject *parent = 0);
	~Api();

private:
	apiGui				*_gui;
	apiNetwork			*_network;
	apiClient			*_client;
	apiAudio			*_audio;
	apiTimer			*_timer;

public:
	apiGui *			gui() const;
	apiNetwork *		network() const;
	apiClient *			client() const;
	apiAudio *			audio() const;
	apiTimer *			timer() const;

	void				setGui(apiGui *);
	void				setNetwork(apiNetwork *);
	void				setClient(apiClient *);
	void				setAudio(apiAudio *);
	void				setTimer(apiTimer *);
};

#endif // API_H
